#ifndef _NESTING_GRAPHICS_H_
#define	_NESTING_GRAPHICS_H_

#include <algorithm>
#include <vector>
#include <Geex/graphics/opengl.h>
#include <glut_viewer/glut_viewer.h>
#ifdef WIN32
#include <Windows.h>
#endif
#include <GL/GL.h>
#include <GL/glut.h>
#include "Nester.h"


namespace Nesting
{

	class Nesting_graphics
	{
	public:
		Nesting_graphics(Nester* _nester) ;
		~Nesting_graphics();
		void print_screen();
		void draw() ;

		// switch set
		GLboolean& toggle_container() { return show_container ; }
		GLboolean& toggle_polytopes() { return show_polytopes; }
		GLboolean& toggle_bounding_box() { return show_bdbox; }
		int& set_highlight_no() { return highlight_no; }
		
	private:
		Nester* nester ;

		// switch variables
		GLboolean show_container;
		GLboolean show_polytopes;
		GLboolean show_bdbox;

		int highlight_no;
		int pre_highlight_no;
		
	};

}

#endif